package monpkg.rmi;

import java.rmi.Remote;
import java.rmi.RemoteException;

import monpkg.entities.Admin;

/**
 * @author Yannick Bouchot
 * @author Jonathan Romero
 */

public interface IAdminImpl extends Remote {
	/**
	 * Cette fonction appel a distance le constructeur newAdmin()
	 */
	Admin newAdmin() throws RemoteException;

	/**
	 * Cette fonction appel a distance le constructeur newAdmin(String, String,
	 * String, String)
	 */
	Admin newAdmin(String firstName, String name, String mail, String password)
			throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode adminCounter()
	 */
	int adminCounter() throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode getId() permettant de
	 * recuperer l'id de l'admin
	 */
	public long getId() throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode setId(long id) permettant de
	 * definir l'id de l'admin
	 */
	public void setId(long id) throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode getFirstName() permettant de
	 * recuperer le firstName de l'admin
	 */
	public String getFirstName() throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode setFirstName(String)
	 * permettant de définir le firstName de l'admin
	 */
	public void setFirstName(String firstName) throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode getName() permettant de
	 * recuperer le name de l'admin
	 */
	public String getName() throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode setName(String) permettant de
	 * définir le name de l'admin
	 */
	public void setName(String name) throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode getPassword() permettant de
	 * recuperer le password de l'admin
	 */
	public String getPassword() throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode setpassword(String) permettant
	 * de définir le password de l'admin
	 */
	public void setPassword(String password) throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode getMail() permettant de
	 * recuperer l'adresse mail de l'admin
	 */
	public String getMail() throws RemoteException;

	/**
	 * Cette fonction appel a distance la methode setMail(String) permettant de
	 * définir l'adresse mail de l'admin
	 */
	public void setMail(String mail) throws RemoteException;
}
